package com.edfapp.utils;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;
import java.util.Locale;

/**
 * @author hong
 * @description 描述
 * @time 2025/9/19 15:08
 **/
public class TimeUtils {
    public static void main(String[] args) {
        // 获取当前日期
        LocalDateTime today = LocalDateTime.now();

        // 指定特定日期（示例：2025年8月12日）
        LocalDate specificDate = LocalDate.of(2025, 8, 12);

        // 创建日期格式化器（英文月份缩写需配合Locale.US）
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.US);

        // 格式化日期
        String formattedDate = today.format(formatter);
        String specificFormattedDate = specificDate.format(formatter);

        System.out.println("当前日期: " + formattedDate.toUpperCase());
        System.out.println("指定日期: " + specificFormattedDate.toUpperCase());

        // 定义日期格式化器（日.月.年）
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
        // 定义时间格式化器（时.分.秒）
        DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH.mm.ss");
        // 格式化日期部分
        String formattedDate1 = today.format(dateFormatter);
        // 格式化时间部分
        String formattedTime1 = today.format(timeFormatter);

        System.out.println("日期格式: " + formattedDate1);  // 输出 19.09.25
        System.out.println("时间格式: " + formattedTime1);  // 输出 15.32.20
    }

    /**
     * 格式 19-SEP-2025
     * @param today 当前时间
     * @return 日期
     */
    public static String getRecordDate(LocalDateTime today){
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd-MMM-yyyy", Locale.US);
        return today.format(formatter).toUpperCase();
    }

    /**
     * 格式 19.09.25
     * @param today 当前时间
     * @return 日期
     */
    public static String getStartDate(LocalDateTime today){
        // 定义日期格式化器（日.月.年）
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("dd.MM.yy");
        return today.format(dateFormatter);
    }

    /**
     * 格式 15.36.50
     * @param today 当前时间
     * @return 时间
     */
    public static String getStartTime(LocalDateTime today){
        // 定义时间格式化器（时.分.秒）
        DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH.mm.ss");
        return today.format(timeFormatter);
    }

    public static String getStartTime2(LocalTime today){
        // 定义时间格式化器（时.分.秒）
        DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("HH.mm.ss");
        return today.format(timeFormatter);
    }

    /**
     * 格式 20250919161700
     * @param today 当前时间
     * @return 全字符
     */
    public static String getFileName(LocalDateTime today){
        // 定义时间格式化器（时.分.秒）
        DateTimeFormatter timeFormatter = DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
        return today.format(timeFormatter);
    }
}
